package com.qing.reflection;

/**
 * Class类是如何加载的
 * 1：加载到内存，会产生一个对应的Class对象
 * 2：链接，重置num = 0
 * 3：初始化<clinit>classinit类初始化，代码合并运行(){
 * System.out.println("静态代码块初始化");
 * num = 20;
 * static int num = 10;
 * 最后输出
 * 静态代码块初始化
 * 实例化对象，构造方法触发输出！
 * 10
 * }
 */
public class AnalyseClass {
    public static void main(String[] args) {
        A a = new A();
        System.out.println(A.num);
    }
}

class A {
    static {
        System.out.println("静态代码块初始化");
        num = 20;
    }

    static int num = 10;

    public A() {
        System.out.println("实例化对象，构造方法触发输出！");
    }
}
